.TH std::allocator_arg 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::allocator_arg \- std::allocator_arg

.SH Synopsis
   Defined in header <memory>
   struct allocator_arg_t { explicit allocator_arg_t() = default; };      \fI(since C++11)\fP
   constexpr std::allocator_arg_t allocator_arg =                         \fI(since C++11)\fP
   std::allocator_arg_t();                                                \fI(until C++17)\fP
   inline constexpr std::allocator_arg_t allocator_arg =                  \fI(since C++17)\fP
   std::allocator_arg_t();

   std::allocator_arg_t is an empty class type used to disambiguate the overloads of
   constructors and member functions of allocator-aware objects, including std::tuple
   , std::function, std::packaged_task,
   \fI(until C++17)\fP and std::promise. std::allocator_arg is a constant of it.

   Defect reports

   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.

      DR    Applied to              Behavior as published              Correct behavior
   LWG 2510 C++11      the default constructor was non-explicit, which made explicit
                       could lead to ambiguity

.SH See also

   uses_allocator checks if the specified type supports uses-allocator construction
   \fI(C++11)\fP        \fI(class template)\fP
